home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / ASSEMBLE / H055.ZIP / MAC / TIME370.MLC < prev    next >
Text File  |  1987-08-13  |  5KB  |  202 lines

  1. TIME370  CSECT
  2.      USING    *,12
  3.      LR    12,15
  4.      B    BEGIN
  5. PARM     DS    0H
  6. *
  7. * FROM HERE TO THE DC X'FF', NOTHING ELSE THAN TEST MACROS CAN BE CODED.
  8. * THE OPERANDS OF THE TEST MACRO ARE EXACTLY THE INSTRUCTION TO BE TIMED,
  9. * WITH THE EXCEPTION THAT THE OPCODE IS IMMEDIATELY FOLLOWED BY A COMMA
  10. * FOLLOWED BY THE NORMAL OPERANDS OF THE INSTRUCTION TO BE EXECUTED.
  11. *
  12. * USE FIELD NAMES ONLY, NO LITERALS !
  13. *
  14. * THE TEST MACRO HAS ONE OPTIONAL KEYWORD PARAMETER:
  15. *     TIME=YES    IS THE DEFAULT AND INDICATES THAT THE INSTRUCTION IS TO BE TIMED
  16. *     TIME=NO    INDICATES THAT THE INSTRUCTION IS NOT TO BE TIMED BUT IS TO BE
  17. *        EXECUTED AS A PREREQUISITE FOR COMING INSTRUCTIONS
  18. *     TIME=WAIT INDICATES NOT TO START THE EXECUTION NOW BUT TO WAIT FOR MORE
  19. *        INSTRUCTIONS TO BE TIMED AS A GROUP (THE GROUP ENDING WITH THE
  20. *        INSTRUCTION WHERE TIME IS OMITTED OR IS EQUAL TO YES.
  21. *
  22. * THE TIMING PROCESS IS LONG. SO WHEN YOU INSERT NEW TEST MACROS AND WANT TO
  23. * MAKE SURE THEY ARE GOOD WITHOUT WAITING FOR FULL TIMING, SUBMIT BY SPECIFYING
  24. * "TIME370 TEST" TO RUN THE JOB FASTER.
  25. *
  26. * TIME370 WILL DISPLAY THE RESULTS BOTH ON THE SCREEN AND IN A FILE CALLED
  27. * TIME370.LST
  28. *
  29. *
  30. * HERE ARE SOME OF THE FIRST TEST MACROS, IN ALPHABETICAL ORDER.
  31. *
  32.     TEST    A,5,FULL
  33.     TEST    AH,5,HALF
  34.     TEST    AL,5,FULL
  35.     TEST    ALR,5,6
  36.     TEST    AP,P1A,P1B
  37.     TEST    AP,P8A,P1B
  38.     TEST    AP,P8A,P8B
  39.     TEST    AR,5,6
  40.     TEST    BAL,5,INST+4
  41.     TEST    BALR,5,0
  42.     TEST    LA,6,INST+2,TIME=NO
  43.     TEST    BALR,5,6
  44.     TEST    BC,0,INST+4
  45.     TEST    BC,15,INST+4
  46.     TEST    BCR,0,6
  47.     TEST    LA,6,INST+2,TIME=NO
  48.     TEST    BCR,15,6
  49.     TEST    BCT,6,INST+4
  50.     TEST    BCTR,5,0
  51.     TEST    LA,6,INST+2,TIME=NO
  52.     TEST    BCTR,5,6
  53. *    TEST    BXH     ****NOT TESTED YET****
  54. *    TEST    BXLE     ****NOT TESTED YET****
  55.     TEST    LA,5,4000,TIME=NO
  56.     TEST    C,5,FULL
  57.     TEST    CH,5,HALF
  58.     TEST    CL,5,FULL
  59.     TEST    CLC,C1A,C1B
  60.     TEST    CLC,C8A,C8B
  61.     TEST    CLC,C64A,C64B
  62.     TEST    CLC,C8A,C8X
  63.     TEST    LA,6,C64A,TIME=NO
  64.     TEST    LA,7,64,TIME=NO
  65.     TEST    LA,8,C64B,TIME=NO
  66.     TEST    LA,9,64,TIME=NO
  67.     TEST    CLCL,6,8
  68.     TEST    CLI,FULL,0
  69.     TEST    CLM,5,1,X00
  70.     TEST    CLM,5,15,X00
  71.     TEST    CLR,5,6
  72.     TEST    CP,P1A,P1B
  73.     TEST    CP,P8A,P1B
  74.     TEST    CP,P8A,P8B
  75.     TEST    CP,P8A,P8A
  76.     TEST    CR,5,6
  77.     TEST    CVB,5,P8A
  78.     TEST    ZAP,DOUBLE,P8A,TIME=NO
  79.     TEST    CVB,5,DOUBLE
  80.     TEST    CVD,5,P8A
  81.     TEST    CVD,5,DOUBLE
  82. *
  83.      DC    X'FFFF'
  84. DOUBLE     DC    D'1'
  85. X00     DC    X'00000000'
  86. FULL     DC    F'1'
  87. HALF     DC    H'1'
  88. P1A     DC    PL1'0'
  89. P1B     DC    PL1'1'
  90. P8A     DC    PL8'0'
  91. P8B     DC    PL8'1'
  92. C1A     DC    CL1'A'
  93. C1B     DC    CL1'A'
  94. C8A     DC    CL8'AAAAAAAA'
  95. C8B     DC    CL8'AAAAAAAA'
  96. C8X     DC    CL8'XXXXXXXX'
  97. C64A     DC    CL64'AAAAAAAA'
  98. C64B     DC    CL64'AAAAAAAA'
  99. FIELD     DS    CL8
  100. ZONE     DS    CL8
  101. *
  102. BEGIN     LA    1,TEST
  103.      LA    2,L'TEST
  104.      SVC   13
  105.      CLC   TEST,X'0082'
  106.      BNE   OPEN
  107.      MVC   CYCLES,=F'100'
  108. OPEN     OPEN  FILE
  109.      XR    0,0
  110.      SPM   0
  111.      LA    RGEN,INST
  112.      LA    RX,PARM
  113.      ST    RX,X1
  114.      B     TIME
  115. LOOP     CLI   0(RX),X'FF'
  116.      BE    FINAL
  117.      XR    1,1
  118.      IC    1,0(RX)
  119.      EX    1,MOVEINST
  120.      LA    RGEN,1(1,RGEN)
  121.      MVC   REC,BACKGRND
  122.      LA    1,5(1,RX)
  123.      XR    2,2
  124.      IC    2,1(RX)
  125.      EX    2,MOVETXT
  126.      LA    1,2(1,2)
  127.      N     1,=X'FFFFFFFE'
  128.      ST    1,X1
  129.      CLI   2(RX),C'W'
  130.      BH    TIME
  131.      BE    WAIT
  132.      MVC   RECMSG(L'MSGEXEC),MSGEXEC
  133.      STM   1,4,OLDSAVE
  134.      LM    1,4,NEWSAVE
  135.      EX    0,INST
  136.      STM   1,4,NEWSAVE
  137.      LM    1,4,OLDSAVE
  138.      LA    RGEN,INST
  139.      B     PUT
  140. WAIT     MVC   RECMSG(L'MSGWAIT),MSGWAIT
  141.      B     PUT
  142. TIME     MVC   0(8,RGEN),BCT
  143.      STM   1,4,OLDSAVE
  144.      LM    1,4,NEWSAVE
  145.      L     13,CYCLES
  146.      XR    0,0
  147.      SVC   154
  148.      ST    15,START
  149. INST     DS    64C
  150. BCT     BCT   13,INST
  151.      B     END
  152. END     XR    0,0
  153.      SVC   154
  154.      S     15,START
  155.      SH    15,TIMEBCT   TIME OF BCT
  156. SWBCT     NOP   GO
  157.      MVI   SWBCT+1,X'F0'
  158.      STH   15,TIMEBCT
  159. GO     CVD   15,WORK
  160.      STM   1,4,NEWSAVE
  161.      LM    1,4,OLDSAVE
  162.      MVC   RECMSG(MSGTIME2-MSGTIME),MSGTIME
  163.      ED    RECTIME,WORK+5
  164.      LA    RGEN,INST
  165. PUT     LA    2,REC
  166.      SVC   209
  167.      MVI   REC$,C' '
  168.      LA    1,REC
  169.      LA    2,L'REC+1
  170.      SVC   13
  171.      PUT   FILE,REC
  172.      MVI   REC$,C'$'
  173.      L     RX,X1
  174.      B     LOOP
  175. FINAL     CLOSE FILE
  176.      SVC   0
  177. MOVEINST MVC   0(0,RGEN),4(RX)
  178. MOVETXT  MVC   RECTXT(0),0(1)
  179. *
  180. RX     EQU   3
  181. RGEN     EQU   4
  182. X1     DS    F
  183. OLDSAVE  DS    4F
  184. NEWSAVE  DS    4F
  185. START     DS    F
  186. WORK     DS    PL8
  187. CYCLES     DC    F'54932'
  188. TIMEBCT  DC    H'0'
  189. TEST     DC    C'TEST'
  190. BACKGRND DC    24C'. ',30C' '
  191. REC     DS    0CL78
  192. RECTXT     DC    CL48'BCT CONTROLLING TIMING LOOP'
  193. RECMSG     DC    CL30' '
  194. REC$     DC    C'$',X'0D0A'
  195. RECTIME  EQU   RECMSG+11,6
  196. MSGEXEC  DC    C'NOT INCLUDED IN TIMING'
  197. MSGWAIT  DC    C'TIMED WITH INSTRUCTION BELOW'
  198. MSGTIME  DC    C'EXECUTED IN',X'402020202120',C' MICROSECONDS'
  199. MSGTIME2 EQU   *
  200. FILE     DCB   DDNAME='TIME370.LST',MACRF=P,RECFM=T,LRECL=82
  201.      END
  202.